package com.ohos.connect.devicecloud.app.modular.projectdevice.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ohos.connect.devicecloud.app.modular.projectdevice.model.dto.ProjectDeviceDeleteDTO;
import com.ohos.connect.devicecloud.app.modular.projectdevice.model.entity.ProjectDevice;
import com.ohos.connect.devicecloud.app.modular.projectdevice.model.dto.ProjectDeviceAddDTO;
import com.ohos.connect.devicecloud.app.modular.projectdevice.model.param.ProjectDeviceEditParam;
import com.ohos.connect.devicecloud.app.modular.projectdevice.model.dto.ProjectDeviceSearchDTO;
import com.ohos.connect.devicecloud.app.modular.projectdevice.model.vo.ProjectDeviceListVO;

/**
 * APP项目设备Service接口
 *
 * @author Dongtao
 * @date  2024/12/05 11:08
 **/
public interface ProjectDeviceService extends IService<ProjectDevice> {

    String getProjectIdByDeviceId(String deviceId);

    Boolean deleteProjectDevice(String deviceId);

    /**
     * 添加APP项目设备
     *
     * @author Dongtao
     * @date  2024/12/05 11:08
     */
    Boolean add(ProjectDeviceAddDTO projectDeviceAddDTO);

    /**
     * 编辑APP项目设备
     *
     * @author Dongtao
     * @date  2024/12/05 11:08
     */
    void edit(ProjectDeviceEditParam projectDeviceEditParam);

    /**
     * 删除APP项目设备
     *
     * @author Dongtao
     * @date  2024/12/05 11:08
     */
    Boolean delete(ProjectDeviceDeleteDTO projectDeviceDeleteDTO);

    /**
     * 获取APP项目设备详情
     *
     * @author Dongtao
     * @date  2024/12/05 11:08
     */
    ProjectDeviceListVO getProjectDeviceList(ProjectDeviceSearchDTO projectDeviceSearchDTO);

    /**
     * 获取APP项目设备详情
     *
     * @author Dongtao
     * @date  2024/12/05 11:08
     **/
    ProjectDevice queryEntity(String id);
}
